import { ChannelListType } from './../store/reducer/channel';
import { AuthTokenType } from '@/store/reducer/user';

//获取token

/**localStorage 默认Token_Key */
const DEFAULTTOKEN_KEY = 'GeeK_ts_Park_Token';

/**localStorage 从获取Token */
export function GetToken(): AuthTokenType {
  return JSON.parse(localStorage.getItem(DEFAULTTOKEN_KEY) || '{}');
}

/**localStorage 设置Token */
export function SetToken(tokendata: AuthTokenType): void {
  localStorage.setItem(DEFAULTTOKEN_KEY, JSON.stringify(tokendata));
}

/**localStorage 删除Token */
export function RemoveToken(): void {
  localStorage.removeItem(DEFAULTTOKEN_KEY);
}

/**localStorage 判断Token是否存在 */
export function isHaveToken(): boolean {
  return !!GetToken().token;
}

//获取个人资料

/**localStorage 默认UserInfo_Key */
// const USERINFO_KEY = 'GeeK_ts_Park_UserInfo';

// /**localStorage 保存用户个人资料 */
// export function SetUserInfo(userInfo: UserInfoType): void {
//   localStorage.setItem(USERINFO_KEY, JSON.stringify(userInfo));
// }

// /**localStorage 获取用户个人资料 */
// export function GetUserInfo(): UserInfoType {
//   return JSON.parse(localStorage.getItem(USERINFO_KEY) || '{}');
// }

// /**localStorage 清空用户个人资料 */
// export function RemoveUserInfo(): void {
//   localStorage.removeItem(USERINFO_KEY);
// }

// 实现本地获取频道列表
/**localStorage 默认CHANNELLIST_KEY */
const CHANNELLIST_KEY = 'GeeK_ts_Park_UserChannelList';

/**localStorage 保存用户频道列表 */
export function SetChannel(userchannel: ChannelListType[]): void {
  localStorage.setItem(CHANNELLIST_KEY, JSON.stringify(userchannel));
}

/**localStorage 获取用户频道列表 */
export function GetChannel(): ChannelListType[] {
  return JSON.parse(localStorage.getItem(CHANNELLIST_KEY) || '[]');
}

/**localStorage 判断用户频道列表是否存在 */
export function isHaveChannel(): boolean {
  return !!GetChannel().length;
}

//实现本地储存搜索历史
const SEARCH_KEYWORD = 'GeeK_ts_Park_Search_keyWord';

/**localStorage 获取用户搜索关键字  */
export function GetKeyWordHistory(): [] {
  return JSON.parse(localStorage.getItem(SEARCH_KEYWORD) || '[]');
}

/**localStorage 保存用户搜索关键字 */
export function SetKeyWordHistory(keyword: string[]): void {
  localStorage.setItem(SEARCH_KEYWORD, JSON.stringify(keyword));
}

/**localStorage 清空用户搜索关键字 */
export function ClearKeyWordHistory(): void {
  localStorage.removeItem(SEARCH_KEYWORD);
}
